package com.chinacoal.hr.levelimpl.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinacoal.hr.levelapi.entity.TransPaperDetailList;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author: YunTao.Li
 * @create: 2019-11-17 13:51
 * @description:员工事务单汇总service(xip_hr_pa_list)
 **/
public interface TransPaperDetailListService {
    /**
     * 获得员工事务单明细记录(他叫汇总表实际上是明细记录）
     *
     * @param beginDate : yyyy-MM-dd
     * @param endDate   :yyyy-MM-dd
     * @return : java.util.List<com.chinacoal.hr.levelimpl.entity.TransPaperDetailList>
     * @author : YunTao.Li
     * @date : 2020/7/6 2020/7/6
     */
    public List<TransPaperDetailList> getTransPaperDetailList(String beginDate, String endDate) throws Throwable;

    /**
     * 待汇总的事务单记录
     *
     * @param beginDate :
     * @param endDate   :
     * @return : java.util.List<com.chinacoal.hr.levelimpl.entity.TransPaperDetailList>
     * @author : YunTao.Li
     * @date : 2020/7/6 2020/7/6
     */
    public List<TransPaperDetailList> getPreValidTransPaperDetailList(String beginDate, String endDate) throws Throwable;

    public List<TransPaperDetailList> getPreValidTransPaperDetailList(String empCode, String beginDate, String endDate) throws Throwable;

    public IPage<TransPaperDetailList> getTransPaperDetailListList(Map<String, Object> condition) throws Throwable;

    public Map<String, String> insertTransPaperDetailList(TransPaperDetailList record) throws Throwable;

    public Map<String, String> updateTransPaperDetailList(TransPaperDetailList record) throws Throwable;

    public Map<String, String> updateTransPaperDetailListByTemplate(TransPaperDetailList template, TransPaperDetailList value) throws Throwable;

    public Map<String, String> deleteTransPaperDetailList(String paListId) throws Throwable;

    public void submitTransPaperDetailList(String paDocId, String docTypeId, String paType, String empId, Date startDate, String startTimeType, Date endDate, String endTimeType, String holidayType) throws Throwable;

    public void deleteTransPaperDetailListByDocId(String paDocId) throws Throwable;
}
